Added another test. Fix the existing tests to close the written config file
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Mon, 21 Nov 2005 12:03:45 +0000 (13:03 +0100)
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Mon, 21 Nov 2005 12:03:45 +0000 (13:03 +0100)
before running the test upon it, to ensure that the file is flushed.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/xm/tests/test_create.py

index aa5f4e44a7f0b5e63bd5adaa8133a7dc84b376a5..cd10def073ccc22f8e76e682802a50038c4d6ad8 100644 (file)
@@ -33,32 +33,80 @@ class test_create(unittest.TestCase):
 
 
     def testCommandLine(self):
+        (fd, fname) = tempfile.mkstemp()
+        os.close(fd)
+        self.t('-f %s kernel=/mykernel display=fakedisplay '
+               'macaddr=ab:cd:ef:ed nics=0' % fname,
+               { 'name'      : os.path.basename(fname),
+                 'xm_file'   : fname,
+                 'defconfig' : fname,
+                 'kernel'    : '/mykernel',
+                 'display'   : 'fakedisplay',
+                 'macaddr'   : 'ab:cd:ef:ed',
+                 'memory'    : 128,
+                 'vcpus'     : 1,
+                 'boot'      : 'c',
+                 'dhcp'      : 'off',
+                 'interface' : 'eth0',
+                 'path'      : '.:/etc/xen',
+                 'builder'   : 'linux',
+                 })
+
+
+    def testConfigFile(self):
         (fd, fname) = tempfile.mkstemp()
         try:
-            self.t('-f %s kernel=/mykernel display=fakedisplay '
-                   'macaddr=ab:cd:ef:ed nics=0' % fname,
-                   { 'name'      : os.path.basename(fname),
-                     'xm_file'   : fname,
-                     'defconfig' : fname,
-                     'kernel'    : '/mykernel',
-                     'display'   : 'fakedisplay',
-                     'macaddr'   : 'ab:cd:ef:ed',
-                     'memory'    : 128,
-                     'vcpus'     : 1,
-                     'boot'      : 'c',
-                     'dhcp'      : 'off',
-                     'interface' : 'eth0',
-                     'path'      : '.:/etc/xen',
-                     'builder'   : 'linux',
-                     })
+            os.write(fd,
+                     '''
+kernel = "/boot/vmlinuz-xenU-smp"
+memory = 768
+name = "dom1"
+vcpus = 4
+nics = 1
+disk = ['phy:/dev/virt-blkdev-backend/dom1,sda1,w',
+'phy:/dev/virt-blkdev-backend/usr,sda2,r']
+root = "/dev/sda1 ro"
+extra = " profile=1 GATEWAY=10.0.1.254 NETMASK=255.255.0.0 IPADDR=10.0.134.1 HOSTNAME=dom1"
+on_poweroff = 'destroy'
+on_reboot   = 'destroy'
+on_crash    = 'destroy'
+                     ''')
         finally:
             os.close(fd)
 
+        self.t('-f %s display=fakedisplay' % fname,
+               { 'kernel'      : '/boot/vmlinuz-xenU-smp',
+                 'memory'      : 768,
+                 'name'        : 'dom1',
+                 'vcpus'       : 4,
+                 'nics'        : 1,
+                 'root'        : '/dev/sda1 ro',
+                 'extra'       : ' profile=1 GATEWAY=10.0.1.254 NETMASK=255.255.0.0 IPADDR=10.0.134.1 HOSTNAME=dom1',
+                 'on_poweroff' : 'destroy',
+                 'on_reboot'   : 'destroy',
+                 'on_crash'    : 'destroy',
+                 'disk'        : [['phy:/dev/virt-blkdev-backend/dom1',
+                                   'sda1', 'w', None],
+                                  ['phy:/dev/virt-blkdev-backend/usr',
+                                   'sda2', 'r', None]],
+
+                 'xm_file'     : fname,
+                 'defconfig'   : fname,
+                 'display'     : 'fakedisplay',
+
+                 'boot'        : 'c',
+                 'dhcp'        : 'off',
+                 'interface'   : 'eth0',
+                 'path'        : '.:/etc/xen',
+                 'builder'     : 'linux',
+               })
+
 
     def testConfigFileAndCommandLine(self):
         (fd, fname) = tempfile.mkstemp()
-        os.write(fd,
-                 '''
+        try:
+            os.write(fd,
+                     '''
 name       = "testname"
 memory     = 256
 ssidref    = 1
@@ -66,30 +114,30 @@ kernel     = "/mykernel"
 maxmem     = 1024
 cpu        = 2
 cpu_weight = 0.75
-                 ''')
-        try:
-            self.t('-f %s display=fakedisplay macaddr=ab:cd:ef:ed nics=0' %
-              fname,
-                   { 'name'       : 'testname',
-                     'xm_file'    : fname,
-                     'defconfig'  : fname,
-                     'kernel'     : '/mykernel',
-                     'display'    : 'fakedisplay',
-                     'macaddr'    : 'ab:cd:ef:ed',
-                     'memory'     : 256,
-                     'maxmem'     : 1024,
-                     'cpu'        : 2,
-                     'ssidref'    : 1,
-                     'cpu_weight' : 0.75,
-                     'vcpus'      : 1,
-                     'boot'       : 'c',
-                     'dhcp'       : 'off',
-                     'interface'  : 'eth0',
-                     'path'       : '.:/etc/xen',
-                     'builder'    : 'linux',
-                     })
+                     ''')
         finally:
             os.close(fd)
+
+        self.t('-f %s display=fakedisplay macaddr=ab:cd:ef:ed nics=0' %
+          fname,
+               { 'name'       : 'testname',
+                 'xm_file'    : fname,
+                 'defconfig'  : fname,
+                 'kernel'     : '/mykernel',
+                 'display'    : 'fakedisplay',
+                 'macaddr'    : 'ab:cd:ef:ed',
+                 'memory'     : 256,
+                 'maxmem'     : 1024,
+                 'cpu'        : 2,
+                 'ssidref'    : 1,
+                 'cpu_weight' : 0.75,
+                 'vcpus'      : 1,
+                 'boot'       : 'c',
+                 'dhcp'       : 'off',
+                 'interface'  : 'eth0',
+                 'path'       : '.:/etc/xen',
+                 'builder'    : 'linux',
+                 })
             
 
 def test_suite():